package com.mine.modules.vm.service;

import com.mine.common.domain.vo.Result;
import com.mine.modules.vm.domain.dto.AddElementDto;
import com.mine.modules.vm.domain.query.ElementPageQuery;
import com.mine.modules.vm.entity.VmLayerElement;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 场景菜单 服务类
 * </p>
 *
 * @author author
 * @since 2024-10-18
 */
public interface IVmLayerElementService extends IService<VmLayerElement> {

    Result<?> queryPageList(ElementPageQuery pageQuery);

    Result<?> addOrEdit(AddElementDto addElementDto);

    Result<?> delete(String id);

    Result<?> deleteBatch(String ids);

    Result<?> bindSceneLayerOfElement(String sId,String sceneLayerId);

    Result<?> cleanSceneLayerOfElement(String sId);

    List<String> getElementIdsByLayerIdOrType(String layerId, String elementType);

    Result<?> getDetailsId(String id);

    Result<?> getSensorBySceneLayerId(String sceneLayerId);

    Result<?> getDetailsBySceneLayerId(String sceneLayerId);

    void addElement(AddElementDto addElementDto);

    void copyElementActionByLayerId(String sourceLayerId,String targetLayerId);
}
